package com.mashibing.dp.proxy.v02;

import java.util.Random;

/**
 * 问题：我想记录坦克的移动时间
 * 最简单的办法：修改代码，记录时间
 * 问题2：如果无法改变方法源码呢？ benchmark源码
 */
public class Tank implements Movable {

    /**
     * 模拟坦克移动了一段儿时间
     */
    @Override
    public void move() {
        long start = System.currentTimeMillis();//1、开始时间

        System.out.println("Tank moving claclacla...");
        try {
            Thread.sleep(new Random().nextInt(10000));//2、随机运行时间
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        long end = System.currentTimeMillis();//3、结束时间
        System.out.println(end - start);//4、获取运行时间
    }

    public static void main(String[] args) {
        new Tank().move();
    }
}

interface Movable {
    void move();
}